Imports CapaDeNegocios
Partial Public Class FrmUsuarioABM
    Inherits System.Web.UI.Page
    Public Login As CapaDeNegocios.nLogin = New CapaDeNegocios.nLogin
    Public Personal As CapaDeNegocios.nPersonal = New CapaDeNegocios.nPersonal
    Public TipoUsuario As CapaDeNegocios.nTipoUsuario = New CapaDeNegocios.nTipoUsuario

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Session("Login") = "Anonimo" Then
            Response.Redirect("/")
        End If
        If Not Page.IsPostBack Then

            LlenarTipos()
            LLenarLegajos()
            LLenarGridUsuarios()
        End If

    End Sub
    Sub LlenarTipos()
        Dim Usuario As Integer
        If CboTipoUsuario.Text = "-1" Then
            Usuario = 0
        Else
            Usuario = Int(CboTipoUsuario.SelectedValue.ToString())
        End If
        CboTipoUsuario.DataSource = TipoUsuario.ListarTipoUsuario(Usuario, "")
        CboTipoUsuario.DataTextField = "descripcion"
        CboTipoUsuario.DataValueField = "IdTipoUsuario"
        CboTipoUsuario.DataBind()
    End Sub
    Sub LLenarLegajos()
        Dim legajo As Integer
        If CboLegajo.Text = "-1" Then
            legajo = 0
        Else
            legajo = Int(CboLegajo.SelectedValue.ToString())
        End If
        CboLegajo.DataSource = Personal.ListarNombres(legajo, "")
        CboLegajo.DataTextField = "NombreApellido"
        CboLegajo.DataValueField = "Legajo"
        CboLegajo.DataBind()
    End Sub
    Sub LLenarGridUsuarios()
        Dim Usuario As String
        If Len(Trim(TxtUsuario.Text)) > 0 Then
            Usuario = Trim(TxtUsuario.Text)
        Else
            Usuario = ""
        End If
        Dim Legajo As Integer
        If CboLegajo.Text = "-1" Then
            Legajo = 0
        Else
            Legajo = Int(CboLegajo.SelectedValue.ToString())
        End If
        Dim TipoUsuario As Integer
        If CboTipoUsuario.Text = "-1" Then
            TipoUsuario = 0
        Else
            TipoUsuario = Int(CboTipoUsuario.SelectedValue.ToString())
        End If
        HFCodigoUsuario.Value = ""
        GridUsuarios.DataSource = Login.ListarTodos(0, Legajo, Usuario, "", TipoUsuario)
        GridUsuarios.DataBind()
    End Sub
    Sub LimpiarFormulario()
        TxtUsuario.Text = ""
        TxtClave.Text = ""
        TxtConfirma.Text = ""
        CboLegajo.SelectedIndex = -1
        CboTipoUsuario.SelectedIndex = -1
        GridUsuarios.SelectedIndex = -1
        HFCodigoUsuario.Value = ""
        LLenarGridUsuarios()
    End Sub
    Protected Sub LinkGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkGuardar.Click
        If HFCodigoUsuario.Value = "" Then
            If Len(Trim(TxtUsuario.Text)) > 0 And Len(Trim(TxtClave.Text)) > 0 And (Len(Trim(TxtConfirma.Text))) > 0 And CboTipoUsuario.Text Then
                If Len(Trim(TxtClave.Text)) = Len(Trim(TxtConfirma.Text)) Then
                    If Not Login.Existe(Trim(TxtUsuario.Text), Int(CboLegajo.SelectedValue.ToString())) Then
                        Login.Inserta(CboLegajo.Text, Trim(TxtUsuario.Text), Trim(TxtClave.Text), CboTipoUsuario.Text)
                        Me.Response.Write("<script languaje='javascript'>window.alert('El usuario se ingreso correctamente')</script>")
                        LimpiarFormulario()
                    Else
                        Me.Response.Write("<script languaje='javascript'>window.alert('El usuario ingresado ya existe')</script>")
                    End If
                Else
                    Me.Response.Write("<script languaje='javascript'>window.alert('Las claves ingresadas no son Iguales')</script>")
                End If
            Else
                Me.Response.Write("<script languaje='javascript'>window.alert('Debe Ingresar todos los datos')</script>")
            End If
        Else
            If Len(Trim(TxtUsuario.Text)) > 0 And Len(Trim(TxtClave.Text)) And (Len(Trim(TxtConfirma.Text))) > 0 And Int(CboTipoUsuario.SelectedValue.ToString()) > 0 Then
                If Len(Trim(TxtClave.Text)) = Len(Trim(TxtConfirma.Text)) Then
                    If Not Login.Existe(Trim(TxtUsuario.Text), Int(CboLegajo.SelectedValue.ToString())) Then
                        Login.Modificar(Int(HFCodigoUsuario.Value), Int(CboLegajo.SelectedValue.ToString()), Trim(TxtUsuario.Text), Trim(TxtClave.Text), Int(CboTipoUsuario.SelectedValue.ToString()))
                        Me.Response.Write("<script languaje='javascript'>window.alert('La Modificacion fue correcta')</script>")
                        LimpiarFormulario()
                    Else
                        Me.Response.Write("<script languaje='javascript'>window.alert('El usuario ya existe')</script>")
                    End If
                Else
                    Me.Response.Write("<script languaje='javascript'>window.alert('Las claves son diferentes')</script>")
                End If
            Else
                Me.Response.Write("<script languaje='javascript'>window.alert('Debe Ingresar todos los datos')</script>")
            End If
        End If
    End Sub

    Protected Sub LinkEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkEliminar.Click
        If Len(Trim(TxtUsuario.Text)) > 0 Then
            Login.Eliminar(Int(HFCodigoUsuario.Value), int(CboLegajo.SelectedValue.ToString()), int(CboTipoUsuario.SelectedValue.ToString()))
            LimpiarFormulario()
        Else
            Me.Response.Write("<script languaje='javascript'>window.alert('No se pudo eliminar')</script>")
        End If

    End Sub

    Protected Sub GridUsuarios_RowCommand(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridUsuarios.RowCommand
        If e.CommandName = "Select" Then
            TxtUsuario.Text = e.CommandSource.parent.FindControl("LblNombre").text
            CboLegajo.SelectedValue = e.CommandSource.Parent.Parent.FindControl("HFLegajo").value
            CboTipoUsuario.SelectedValue = e.CommandSource.Parent.Parent.FindControl("HFTipo").value
            HFCodigoUsuario.Value = e.CommandSource.Parent.Parent.findControl("HFIdUsuario").value

        End If
    End Sub

    Protected Sub LinkBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkBuscar.Click
        LLenarGridUsuarios()
    End Sub

    Protected Sub LinkCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkCancelar.Click
        LimpiarFormulario()
    End Sub

End Class